namespace BorgExt
{
    public delegate void GenericParameterHandler<in T>(T args);

    internal class GenericParameterHandlerInfo<T> : HandlerInfo
    {
        private readonly GenericParameterHandler<T> _handler;
        private readonly T _args;

        public GenericParameterHandlerInfo(GenericParameterHandler<T> handler, T args)
        {
            _handler = handler;
            _args = args;
        }

        public override void Execute()
        {
            _handler(_args);
        }
    }
}

